Проблема знаний

В данном разделе курса речь идет о проблемах формирования, хранения и использования «знаний» (пока мы считаем, что «знания» – любая информация о системе и ее окружении) на всех этапах жизненного цикла системы искусственного интеллекта (системы ИИ)/интеллектуальной системы (ИС).

1.Терминологические замечания:
а) Предметная область (ПО) – «срез» действительности, со своими объектами, отношениями.
    Проблемная область (ПО) – Предметная область + характерные задачи.
Примеры:
Предметная область –  Лисп как язык для обработки списков
Проблемные области:	автоматический синтез программ на Лиспе,
автоматизированное обучение приемам программирования на Лиспе.

б) Из психологии и педагогики нам известна триада: знания – умения – навыки.
Знания – усвоенные Понятия.
Умения – способность выполнять новые действия в новых условиях.
Навыки – действия, автоматизировавшиеся в процессе их усвоения и выполнения.
В работах по ИИ знаниями обычно называют и собственно знания, и умения, и навыки.
Поэтому говорят о: базах понятий, базах фактов, базах правил и т.п.
Вот, например, два определения из Интернет-ресурса «Тематическая служба толковых словарей» – http://www.glossary.ru.
"Знания (в информатике) – вид информации, отражающей опыт специалиста (эксперта) в определенной ПО, его понимание множества текущих ситуаций и способы перехода от одного описания объекта к другому.
Знания о ПО подразделяются на:
-факты, относящиеся к ПО;
-закономерности, характерные для ПО;
-гипотезы о возможных связях между явлениями, процессами и фактами;
-процедуры для решения типовых задач в данной ПО."
Чтобы не вступать в противоречие с литературными источниками, мы согласимся с такой трактовкой (расширенной) термина знания.

в)Базы знаний (БЗ) в работах по ИИ часто не совсем корректно противопоставляются базам данных (утверждается, например, что базы знаний в отличие от баз данных имеют встроенный дедуктивный механизм вывода следствий из известных фактов и т.п.).  
Для нас это феномены разноплановых уровней:
База знаний – (у нас) – совокупность «знаний» системы ИИ в компьютерном представлении. Средством представления «знаний» может быть, в частности, та или иная штатная база данных (в обычном смысле).

2.Некоторые острые аспекты проблемы знаний:
Проблема извлечения знаний
Извлечение знаний – процесс взаимодействия инженера по знаниям с источником знаний (экспертом), в результате которого становятся явными процесс рассуждений специалистов при принятии решения и структура их представлений о предметной области.
Проблема приобретения знаний
Приобретение знаний – автоматизированное построение базы знаний посредством диалога эксперта и/или инженера знаний со специальной программой формирования БЗ.
Экспертные знания – знания, которыми располагает специалист в некоторой проблемной области.
Эксперт – специалист в некоторой проблемной области.
Инженер знаний/Инженер по знаниям/Когнитолог – специалист по искусственному интеллекту, проектирующий и создающий базу знаний системы ИИ. Обычно инженер по знаниям выступает в роли «посредника» между экспертом и базой знаний
Проблема открытости знаний
Совокупность «знаний» системы ИИ неизбежно должна быть открыта для включения в нее новой информации, отражающей динамику проблемной среды и динамику поручаемых системе ИИ заданий.
Открытость может быть реализована по-разному:
- пополнение БЗ «хирургическим путем» (программист/администратор вносят изменения в тексты БЗ),
- обучение системы пользователем в рабочем режиме,
- самообучение системы (приспособление ее к новым условиям/задачам).

3.Базовые методы представления знаний:

Метод представления знаний – совокупность взаимосвязанных средств формального описания знаний и оперирования (манипулирования) этими описаниями.
(аналог модели данных в теории Баз Данных – понятие концептуального уровня)

Логические методы (язык предикатов)
Знания, необходимые для решения задач и организации взаимодействия с пользователем, –  факты (утверждения).
Факт – формула в некоторой логике.
Система знаний – совокупность формул.
База знаний – система знаний в компьютерном представлении.

Основные операции: логический вывод (доказательство теорем)

Примеры:
иметь (Саша, книга)				«Саша имеет книгу»
иметь (Саша, книги)  иметь (Саша, книга)	«Если Саша имеет книги, то он имеет книгу»
(x) [человек (x)  иметь (x, книга)]		«Каждый человек имеет книгу»
(x) [свободен (x)  (y) (на (y,x))]	«Если кубик x свободен, то нет такого кубика y,
						который находится на кубике x»
Достоинства:
•	формальный аппарат вывода (новых фактов/знаний из известных фактов/знаний),
•	возможность контроля целостности,
•	простая и ясная нотация.
Недостатки:
•	знания трудно структурировать,
•	при большом количестве формул вывод идет очень долго,
•	при большом количестве формул их совокупность трудно обозрима.

Семантические сети
Знания, необходимые для решения задач и организации взаимодействия с пользователем, –  объекты/события и связи между ними.
Статические семантические сети			- сети с объектами.
Динамические семантические сети (сценарии)	- сети с событиями.
Система знаний – совокупность сетей (или одна общая сеть).
База знаний – система знаний в компьютерном представлении.
Для представления семантических сетей используются графы:
вершина	-	атомарный объект (событие),
подграф	-	структурно сложный объект (событие),
дуга		-	отношение или действие.
Примеры отношений:
род-вид		(«компьютер» – «персональный компьютер»)
целое-часть		(«компьютер» – «память»)
понятие-пример	(«компьютер» – «конкретный компьютер . . . »)
Основные операции: сопоставление с образцом, поиск, замена, взятие копии
Примеры семантических сетей:
Будут позже.
Достоинства:
•	знания хорошо структурированы, структура понятна человеку.

Недостатки:
•	при большом объеме сети очень долго выполняются все операции,
•	при большом объеме сети она трудно обозрима.

Фреймы
Знания, необходимые для решения задач и организации взаимодействия с пользователем, –  фреймы.
Фрейм-понятие – отношение/действие + связанные этим отношением/участвующие в этом действии объекты.
Фрейм-пример – конкретный экземпляр отношения/действия + конкретные объекты (связанные этим отношением/участвующие в этом действии).
Система знаний – совокупность фреймов-понятий и фреймов-примеров.
База знаний – система знаний в компьютерном представлении.
Фрейм: ИМЯ		-	отношение/действие
	СЛОТЫ	-	объекты или другие фреймы
С каждым слотом может быть связана такая информация:
УСЛОВИЕ НА ЗАПОЛНЕНИЕ (тип, «по умолчанию», связь с другими слотами)
АССОЦИИРОВАННЫЕ ПРОЦЕДУРЫ (действия, выполняемые, например, при заполнении этого слота)
Основные операции: поиск фрейма/слота, замена значения слота, взятие копии фрейма-понятия
Примеры:
Фрейм-понятие «Перемещать»
ПЕРЕМЕЩАТЬ (кто?, что?, откуда?, куда?, когда?, . . .)
	Условия:	кто? – человек, робот, . . .
			откуда? – место 
			. . .
Фрейм-пример 
ПЕРЕМЕЩАТЬ (Саша, Саша, Главное_Здание_МГУ, Факультет_ВМК, вчера в 15-30, . . .)

Фрейм-понятие «Персональный_компьютер»
ПЕРСОНАЛЬНЫЙ_КОМПЬЮТЕР (фирма-производитель?, процессор?, память?, . . .)
Фрейм-пример 
ПЕРСОНАЛЬНЫЙ_КОМПЬЮТЕР (ASUS, Intel Celeron, 512Мб, . . .)

Достоинства:
•	знания хорошо структурированы, структура понятна человеку.
Недостатки:
•	при большом количестве фреймов долго выполняются все операции,
•	при большом количестве фреймов знания трудно обозримы.

Продукции
Знания, необходимые для решения задач и организации взаимодействия с пользователем, – продукции (продукционные правила).
Продукция – правило вида:  p:  (где: p – предусловие,  - антецедент,  - консеквент).
Система знаний – система продукционных правил + стратегия выбора правил.
База знаний – система знаний в компьютерном представлении.

Основные операции: вывод (применение правила, определение правила-преемника и т.д.)
Примеры:
True: T > 200C & P > 5 кПа   открыть клапан № 3
True: Х - башня   Х имеет_часть У1 & У1 есть КРЫША & . . .

Достоинства:
•	простая и ясная нотация.
Недостатки:
•	при большом количестве правил вывод идет очень долго,
•	при большом количестве правил их совокупность трудно обозрима.

4.Сложности формирования БЗ (на примерах):

Пример: Формирование описания объекта на основе знаний «здравого смысла»
При описании АРКИ одного из объектов Мира Кубиков с помощью семантических сетей мы будем использовать:
1) объекты/понятия: арка, блок, пирамида (пирам), многогранник (мног);
2) отношения: целое-часть (1), род-вид (2), поддерживает (3) и некоторые другие.
Рассматривается проекция трехмерных объектов на плоскость.
В описание не включается очевидный факт – работа с Кубиками ведется на плоскости (table). 
Достаточно естественный вариант АРКИ:		может быть описан так:

арка

блок

блок

пирам

1

1

1

3

31

Другой возможный вариант АРКИ:			имеет другое описание:

арка

блок

блок

блок

1

1

1

3

31

Если в БЗ будет указано, что блок и пирам – частные случаи объекта мног, то можно дать обобщенное описание АРКИ:

мног

блок

пирам

2

2

арка

блок

блок

мног

1

1

1

3

31

В этом описании не учтен «вырожденный» случай арки (см. ниже). Для того, чтобы исключить такой объект, следует указать, что блоки основания АРКИ не соприкасаются.

31

арка

блок

блок

мног

1

1

1

31

4

Не очень понятно, следует ли считать АРКОЙ объект, изображенный на следующем рисунке («феномен кучи»). Можно заменить в описании отношение не соприкасаются (4) 
отношением расстояние между блоками > δ (5).

арка

блок

блок

мног

1

1

1

3

31

5

Отметим, что этот пример можно рассматривать не только в контексте описания (и его формализации) ПО человеком, но и в контексте обучения системы ИИ.

Пример: Использование в качестве источника информации о ПО энциклопедических источников

Некоторые словарные статьи из «Толкового словаря Ожегова» (http://www.ozhegov.ru/):
АВТОБУС: многоместный автомобиль для перевозки пассажиров
АВТОМОБИЛЬ: транспортное средство на колесном ”реже полугусеничном или другом” ходу с собственным двигателем для перевозок по безрельсовым путям
…
МАШИНА: == автомобиль. Служебная, личная м. Гараж для машины.
…
ТРАМВАЙ: городская наземная электрическая железная дорога, а также ее вагон или поезд.
…
ТРОЛЛЕЙБУС: многоместная электрическая транспортная машина, идущая по безрельсовым путям.
…
РОТОР: вращающаяся часть в машинах.

Верно ли такое формальное описание объекта «ротор» (логические методы представления знаний):
Ротор (x) ↔ Часть (x, y) & Машина (y) & Вращается (x) ?
Вероятно, нет. Так как, если Машина не работает, то Ротор не Вращается.

Возможное уточнение (требует привлечения информации, которой нет в источнике):
Ротор (x) ↔ (t) [Работает (y, t) & Часть (x, y) & Машина (y) → Вращается (x)]

5.Обучение, обучающие выборки

Обучение (в психологии) – усвоение новых знаний. 
Новые умения и навыки приобретаются путем тренировки и упражнения.
Обучение (в работах по ИИ): «любое изменение в системе, приводящее к улучшению решения задачи при ее повторном предъявлении или к решению другой задачи на основе тех же данных» - Н.Саймон.
Принцип полноты базовых знаний. Возможность/невозможность «обучения с нуля».
Проблемы полноты и репрезентативности обучающей выборки (при пополнении базы знаний).

Некоторые важные термины
Генеральная совокупность – вся изучаемая выборочным методом статистическая совокупность объектов и/или явлений, имеющих общие качественные признаки или количественные переменные
Выборка (выборочная совокупность) – часть объектов из генеральной совокупности, отобранных для изучения, с тем чтобы сделать заключение о всей генеральной совокупности. Для того, чтобы заключение, полученное путем изучения выборки, можно было распространить на всю генеральную совокупность выборка должна обладать свойством репрезентативности.
Репрезентативность (представительность) – свойство выборки отражать характеристики изучаемой генеральной совокупности.
Репрезентативная выборка – выборка, имеющая такое же распределение относительных характеристик, что и генеральная совокупность.
Ошибки выборки – отклонение статистической структуры выборки от структуры соответствующей генеральной совокупности.
Произвольная выборка – эмпирическая выборка, не имеющая вероятностного обоснования, складывающаяся на основе случая, причем выбор каждого случая не влияет на любой другой случай.
Источник – www.glossary.ru.

6.Символьное обучение (обучение в ПРОСТРАНСТВЕ ПОНЯТИЙ)

Основные операции в пространстве понятий: обобщение, специализация.
Индуктивное обучение как поиск в пространстве понятий
Пример: Пусть в пространство понятий входит некоторое абстрактное понятие: 
Object (Sizes, Colors, Shapes) 
и известно, что его признаки принимают такие значения:
Sizes = {large, small}; Colors = {red, blue, white, green}; Shapes = {round, polygon}
Индуктивное обучение в этом пространстве – поиск понятия, удовлетворяющего всем примерам обучающей выборки.
Пусть, далее, у нас есть единственный обучающий пример – Object1 (small, red, round).
Результатом обучения может стать пополнение пространства понятий таким новым частным случаем  («маленький красный шар»/«маленький красный мяч» и т.п.). Это – специализация.
Пусть появляется второй обучающий пример –  Object2 (large, red, round).
Результатом обучения может стать пополнение пространства понятий этим новым частным случаем  («большой красный шар»/«большой красный мяч» и т.п.). Это тоже – специализация.
Можно выполнить и некоторые операции обобщения, построив и добавив в общее пространство новые понятия:
Object3 (X, red, round)	– («красный шар»/«красный мяч» и т.п.) 
Object4 (X, Y, round)		– («шар»/«мяч» и т.п.) 
Основные операции обобщения

1.Замена конкретного значения понятия на переменную: 
Colors (X, red) & Shapes (X, cube) → Colors (X, Y) & Shapes (X, cube)
(«красный куб») → («куб <любого цвета>»)

2.Исключение конъюнкта:
Sizes (X, small) & Colors (X, red) & Shapes (X, cube) → Colors (X, red) & Shapes (X, cube)
(«красный куб малого размера») → («красный куб»)

3.Добавление дизъюнкта:
Colors (X, red) & Shapes (X, cube) → Colors (X, red) & ((Shapes (X, cube) V Shapes (X, pyramid)) 
(«красный куб») → («красный куб или красная пирамида»)

4.Замена конкретного объекта или частного понятия общим понятием (на основе иерархии классов):
Colors (X, red) → Colors (X, rainbow-color)	(«красный» → «цвета радуги»)
Shapes (X, polyhedron) → Shapes (X, solid) 	(«многогранник» → «геометрическое тело»)

Метазнания в системах искусственного интеллекта:

Метазнания – знания системы ИИ о ее собственных знаниях: как они структурированы, как и при каких условиях их можно менять (в том числе, с учетом проблемы полномочий: автоматическое изменение, изменения после получения подтверждения от пользователя, изменение пользователем).
С использованием метазнаний в экспертных системах мы познакомимся в соответствующем разделе. 
В данном разделе мы рассматриваем метазнания как средство разрешения конфликта между наличными знаниями системы ИИ (содержанием базы знаний) и входной информацией.

Примеры конфликтов:
- не удается завершить анализ текста условия задачи, т.к. в нем встретилось незнакомое системе ИИ слово;
- не удается продолжить планирование решения, т.к. ни один оператор к очередной вершине дерева поиска неприменим;
- новый факт формально противоречит одному из ранее известных.

Разрешение конфликта (на примере появления во входном тексте слова, которое не входит в словарь системы ИИ):
-	поиск возможных причин (незнакомое слово – это либо действительно новое слово, либо слово с орфографической ошибкой);
-	их динамическое (в текущем сеансе общения с известным пользователем: один часто допускает клавиатурные ошибки, другой любит использовать необычные/редкие слова) упорядочение;
-	выбор наилучшего способа устранения конфликта (заменить букву, вставить пропущенный пробел и т.п.);
-	необходимая временная коррекция базы знаний (например, временное снятие запрета на появление незнакомых слов) или изменение входных данных (исправление орфографической ошибки);
-	обучение (факультативно), например, запись в словарь системы нового слова.
Вспомним, что модуль проверки правописания текстового процессора при появлении незнакомого системе слова предлагает: пропустить это слово, исправить ошибку (выбрав вариант, предлагаемый системой, либо, предложив свой вариант исправления) или добавить слово в словарь системы.